//package com.example.demo.config;
//
//import java.sql.SQLException;
//import javax.sql.DataSource;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.boot.autoconfigure.AutoConfigureBefore;
//import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
//import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
//import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
//import org.springframework.boot.context.properties.EnableConfigurationProperties;
//import org.springframework.context.annotation.Bean;
//import org.springframework.context.annotation.Configuration;
//import com.alibaba.druid.pool.DruidDataSource;
//
//@Configuration
//@EnableConfigurationProperties(DruidProperties.class)
//@ConditionalOnClass(DruidDataSource.class)
//@ConditionalOnProperty(prefix = "druid", name = "url")
//@AutoConfigureBefore(DataSourceAutoConfiguration.class)
//public class DruidAutoConfiguration {
//
//	 @Autowired
//	    private DruidProperties properties;
//
//	    @Bean
//	    public DataSource dataSource() {
//	        DruidDataSource dataSource = new DruidDataSource();
//	        dataSource.setUrl(properties.getUrl());
//	        dataSource.setUsername(properties.getUsername());
//	        dataSource.setPassword(properties.getPassword());
//	        if (properties.getInitialSize() > 0) {
//	            dataSource.setInitialSize(properties.getInitialSize());
//	        }
//	        if (properties.getMinIdle() > 0) {
//	            dataSource.setMinIdle(properties.getMinIdle());
//	        }
//	        if (properties.getMaxActive() > 0) {
//	            dataSource.setMaxActive(properties.getMaxActive());
//	        }
//	        dataSource.setTestOnBorrow(properties.isTestOnBorrow());
//	        try {
//	            dataSource.init();
//	        } catch (SQLException e) {
//	            throw new RuntimeException(e);
//	        }
//	        return dataSource;
//	    }
//}
